package com.linksfield.topup.service;

import com.linksfield.topup.config.dto.ResultDataDto;
import com.linksfield.topup.entity.interfaces.accountmanage.create.request.RequestCreateAccount;
import com.linksfield.topup.entity.interfaces.accountmanage.operate.request.RequestAccountOperate;
import com.linksfield.topup.entity.interfaces.accountmanage.search.request.RequestAccountSearch;
import com.linksfield.topup.entity.interfaces.login.request.RequestConfirmChangePwd;

/**
 * 系统用户操作业务 接口
 *
 * @author: lm
 * @date: 2019-11-21 15:40
 */
public interface SysOperateService {
    /**
     * 验证账号和密码的有效性，操作登录
     *
     * @param account
     * @param password
     * @return
     */
    ResultDataDto checkLogin(String account, String password);

    /***
     * 验证token的有效性，操作退出登录
     * @param token
     * @return
     */
    ResultDataDto checkLogout(String token);

    /**
     * 验证token的有效性，点击打开“修改密码”框
     *
     * @param token
     * @return
     */
    ResultDataDto clickChangePwd(String token);

    /***
     * 点击修改密码页面上的"确认修改"按钮
     * @param request
     * @param token
     * @return
     */
    ResultDataDto confirmChangePwd(RequestConfirmChangePwd request, String token);

    /****
     *系统用户管理：搜索功能
     * @param request
     * @param token
     * @return
     */
    ResultDataDto accountSearch(RequestAccountSearch request, String token);

    /***
     * 系统用户管理：操作：重置密码；封禁账号；启用账号
     * @param request
     * @param token
     * @return
     */
    ResultDataDto accountOperate(RequestAccountOperate request, String token);

    /***
     * 系统用户管理：创建用户
     * @param request
     * @param token
     * @return
     */
    ResultDataDto createAccount(RequestCreateAccount request, String token);
}
